<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>函数</title>
    <script>
        // 1.函数的声明
        // function theName () {
        // }
        //theName();

        // 2.命名函数表达式
        // var test = function abc () {
        //     document.write('abc');
        // }
        // abc();//无意义的
        // test();

        // 3.匿名函数表达式 --------- 函数表达式
        // var test = function () {
        //     document.write('函数表达式');
        // }
            
        //4.关于变量的声明前置，这种现象叫变量的声明提升
        // console.log(x);
        // var x = 3;
        //    等价于
        // var x;
        // console.log(x);
        // x = 3;
        
        // 5.这种现象叫----函数的声明前置
        // abc();
        // function abc () {
        //     console.log('abc');
        // }
        
        //6.全局变量和局部变量,变量的作用域
        // 向外可以一直访问到全局变量
        // 不能向内访问变量，局部存块级作用域内，生命周期在一个块级
        //     // var x = '我是外面一个坑'; //全局变量
        //     function test () {
        //         // var x = '就不用你外面那个坑';//局部变量  
        //         function testInner () {
        //             var x = '我才是你最爱的那个坑';
        //             // console.log(x);
        //         }
        //         console.log(x);
        //         // testInner();              
        //     }
        
        // 7.形式参数和实参列表
        // function theFirstName (a,b) {
        //     document.write(a + b + '<br>');
        // }
        // theFirstName(8,2,4,5,6);
        // theFirstName(111155,98745645);
        // theFirstName(456,789);

        // 8.计算圆形的面积
            // function areaCircle (r,pi) {
            //     return r*r*pi;
            // }
            // areaCircle(5,3.14);

        // 9.实参列表arguments
        function areaCircle (r,pi) {
            arguments.length > 1 ? document.write(r*r*pi) : document.write(r*r*3.14);

            }
            // areaCircle(2); 
            areaCircle(3,3.1416);





    </script>
</head>
<body>
    
</body>
</html>